"use strict";
const mvc = require('cosjs.mvc');
const random = mvc.library.require('random');
/**
 * @name team
 * 队伍相关
 */


/**
 * @name setTeamName
 * @param string name 队伍名字
 * @param int teamType 队伍类型
 * @param int  groupID  组ID
 * 修改名字
 */
exports.setTeamName = async function () {
    let teamType = this.get('teamType', 'int');
    let groupID = this.get('groupID', 'int');
    if (!teamType || !groupID) {
        return this.error('args empty');
    }
    let name = this.get('name', 'string');
    // await this.updater.data();
    //需要对id做大小限制，到时候配表限制最多队伍组数
    //TODO:这里接入屏蔽字库
    this.updater.role.key("team." + teamType + groupID);
    await this.updater.data();
    let teamData = this.updater.role.get("team." + teamType + groupID);
    if (!teamData) {
        this.updater.role.set("team." + teamType + groupID + ".type", teamType);
        this.updater.role.set("team." + teamType + groupID + ".groupID", groupID);
    }

    this.updater.role.set("team." + teamType + groupID + ".name", name);
    return this.updater.save()
}
//team:{id:{name}}
//teamList:{id:{type:int,}}


/**
 * @name updateTeam
 * @param int teamType 队伍类型
 * @param int  groupID  组ID
 * @param json team 阵容数据
 * 修改阵容
 */
exports.updateTeam = async function () {
    let teamType = this.get('teamType', 'int');
    let groupID = this.get('groupID', 'int');
    if (!groupID) {
        return this.error('args empty');
    }
    let team = this.get('team', 'json');
    if (!team) {
        return this.quick_error('M2saghge140', ' 参数错误');
    }
    // let name = this.get('name', 'string');
    // await this.updater.data();
    //需要对id做大小限制，到时候配表限制最多队伍组数
    //TODO:这里接入屏蔽字库
    // team["type"] = teamType;
    this.updater.role.key("team." + teamType + groupID);
    await this.updater.data();
    let teamData = this.updater.role.get("team." + teamType + groupID);
    if (!teamData) {
        this.updater.role.set("team." + teamType + groupID + ".type", teamType);
        this.updater.role.set("team." + teamType + groupID + ".groupID", groupID);
    }
    //todo  队伍类型需要判断，是否是pvp类型
    //对队伍进行判断

    // let updateData = team.split(',');
    // for (let s of updateData) {
    //     if(s == ""){
    //         continue;
    //     }
    //     if (!s) {
    //         return this.quick_error('M2saghge150', 'id出错');
    //     }
    //     this.updater.item.key(s);
    // }
    // await this.updater.data();
    // //验证是否存在
    // for (let s of updateData) {
    //     if(s != ""){
    //         let ss = this.updater.item.get(s);
    //         if (!ss) {
    //             return this.quick_error('M2saghge190', '单位不存在', s);
    //         }
    //         //判断是否是仔仔
    //         if(ss.bag !=20){
    //             return this.quick_error('M2saghge190', '类型不匹配哦', ss.bag);
    //         }
    //     }
    // }
    // //验证是否重复上仔仔
    // for (let s0 of updateData) {
    //     if(s0 == ""){
    //         continue;
    //     }
    //     let i =0;
    //     for (let s1 of updateData) {
    //         if(s0 == s1){
    //             i++;
    //         }
    //     }
    //     if(i>1){
    //         return this.quick_error('M2saghge190', '单位重复上仔仔', s0);
    //     }
    // }
    // if(teamType ==1){
    //     //进攻
    //     this.updater.role.set("PVP_31",updateData);
    // }else if(teamType ==0){
    //     //进攻
    //     this.updater.role.set("PVP_30",updateData);
    // }else{
    //     //类型出错
    //     return this.quick_error('M2saghge190', '单位不存在', s);
    // }
    // return this.updater.save()
    this.updater.role.set("teamList." + teamType + groupID, team);
    return this.updater.save()
}